Various techniques have been suggested to allocate resources in a computer system.
For example, a QoS control apparatus disclosed in PTL 1 registers, in a table, an amount of resources to be assigned corresponding to the class of QoS that is determined in advance for a task that is being operated in an assignment amount registration means, and determines the resource allocation amount to each task based on the table.
Further, a distributed resource management system disclosed in PTL 2 creates, when resources to be shared by a plurality of applications are allocated, a demand function indicating the degree of demand of target resources required for the plurality of applications, to allocate the resources based on the demand function.
Small-sized devices such as mobile telephones, PNDs (Portable Navigation Devices), and DPFs (Digital Photo Frames) have limited resources of memory capacities and arithmetic capacities of CPUs. Thus, allocation of resources to applications is especially important. When a large number of applications are operated in these small-sized devices, these applications may not be able to operate as expected. This is because, since these applications contend for the limited resources, it is impossible to achieve the quality which can be accomplished in the case in which only one application is operated.
In order to smoothly operate a plurality of applications in a device with limited resources, it is required to appropriately allocate the resources to these applications. Since the appropriate allocation of resources is different depending on the number and the type of the applications that are operated, methods like equal allocation and best effort allocation are not preferable.
One known method is to calculate, for each of the plurality of applications that are being operated, the amount of resources to be allocated to each of the applications based on a relation between an amount of resources to be used by the application and a quality of user experience. The quality of user experience means the degree of satisfaction felt by users. The user satisfaction can be enhanced by performing resource allocation based on the quality of user experience.